﻿/** 
 * Copyright / Licence
 * <p>
 * You are free:
 * <li>to Share — to copy, distribute and transmit the work
 * <li>to Remix — to adapt the work
 * </p>
 * <p>
 * Under the following conditions:
 * <li>Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
 * <li>Noncommercial — You may not use this work for commercial purposes.
 * <li>Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
 * </p>
 * <p>
 * More information can be found here:
 * <br/>
 * http://creativecommons.org/licenses/by-nc-sa/3.0/
 * </p>
 * <p>
 * Please contact Manfred Weber [manfred.weber@gmail.com] if you require a commercial licence
 * </p>
 */
 package org.dschini.data.ui.maps {
	
	import org.dschini.data.*;
	
	/**
	 * A Map Point.
	 * 
	 * <p>
	 * <b>Usage 1:</b>
	 * <br/>
	 * On click a MapEvent ist dispatched holding MapPointData Object with all properties.
	 * <br/>
	 * The target property references the clicked object. Say you clicked on the GermanyMap
	 * the target object is either of germanyMapShape or germanyMapBorders.
	 * <br/>
	 * Now take a look at the following examples to see what you can do with target:
	 * </p>
	 * <p>
	 * <code>
	 * GermanyMap( target.parent );
	 * <br/>
	 * GermanyMapData( target.parent.data );
	 * <br/>
	 * EuropeMap( target.parent.parent );
	 * <br/>
	 * EuropeMapData( target.parent.parent.data );
	 * <br/>
	 * WorldMap( target.parent.parent.parent );
	 * <br/>
	 * WorldMapData( target.parent.parent.parent.data );
	 * </code>
	 * </p>
	 * <p>
	 * Please always check the MapPointData:
	 * <br/>
	 * <code>
	 * if( target.parent is Map ){ ... }
	 * <br/>
	 * if( target.parent.data is MapData ){ ... }
	 * </code>
	 * </p>
	 * 
	 * <p>
	 * <b>Usage 2:</b>
	 * <br/>
	 * Creating a MapPointData Object requires at least x,y coordinates
	 * </p>
	 * 
	 * <code>
	 * var mapPointData:MapPointData = new MapPointData();
	 * <br/>
	 * mapPointData.x = 100;
	 * <br/>
	 * mapPointData.y = 100;
	 * </code>
	 */
	public class MapPointData extends Data
	{
		public var lat:Number;
		public var lon:Number;
		public var y:Number;
		public var x:Number;
		public var target:*;
	}
}
